1. Field of the Invention
The present invention relates to a scheme for restoring lost data of a disabled disk device in a real time stream server without affecting a supply of real time stream data from a real time stream server to clients.
2. Description of the Background Art
Data to be sequentially transferred in real time such as video data and speech data are generally called "real time stream data". For a real time stream server for handling such real time stream data, a necessary condition is that it should be able to transfer the real time stream data stored in disk devices to each client while guaranteeing a continuity in real time.
In order to satisfy this condition, in the prior art, the real time stream data are stored in a data storage unit by being divided into blocks of a size to be transferred in a prescribed period of time, and the server makes accesses to the data storage unit periodically for each stream. The read out blocks are stored in a buffer memory once, and periodically transferred to corresponding clients through a communication network. A control device manages timings in this operation, while establishing a new stream channel upon receiving a connection request from a client.
Here, it is necessary for the data storage unit to store a large amount of data and transfer data at high speed, so that a striping technique is usually employed for the data storage unit, where a disk array device formed by combining a plurality of disk devices is provided and data are sequentially stored over all the disk devices by being divided into small blocks.
As a technique for enabling data restoration in the disk array, the RAID (Redundant Arrays of Inexpensive Disks) is well known. In the RAID, a logical disk group is formed by providing one parity disk for each group of a certain number of data disks. Then, data to be stored are divided into small blocks in some prescribed manner, and each block is stored by being divided into as many segments as a number of data disks in each group, while a parity data given by the exclusive OR of data segments is calculated for each block and stored into a parity disk. With this arrangement, even when one disk device in a disk group is disabled, it is possible to restore data of a disabled data disk from the other remaining data disks and the parity disk.
In addition, the real time stream server is required to be capable of continuing a supply of a connected stream, and restoring data without stopping the server operation, even when a disk device is disabled. For this reason, for the data storage unit of the real time stream server, a fault detection means for detecting a disabled disk device and a disk device exchange means for exchanging disks during the server operation are provided.
Now, in a case of actually restoring data, the stream resources such as disk access, buffer memory, etc. are required for the purpose of data restoration, in addition to those required for a normal supply of stream.
Conventionally, some stream resources are reserved exclusively for a restoration stream, and at a time of data restoration, these reserved stream resources are allocated to the restoration stream in order to carry out the data restoration. For this reason, there has been a drawback in that a maximum number of stream supplies during the restoration is limited rather low. In addition, which stream resources are to be reserved is fixedly set up in advance, so that when an actual number of stream supplies is small, even if many stream resources not allocated to any stream are available, it has been impossible to shorten a restoration time required for restoring data by efficiently utilizing all these available stream resources.